﻿window['TextEditBox'] = { __namespace: true, __typeName: 'TextEditBox'};

TextEditBox.CurrentEditor;

TextEditBox.ReadModeClassName = 'textBoxReadMode';
TextEditBox.EditModeClassName = 'textBoxEditMode';
TextEditBox.ErrorModeClassName = 'textBoxErrorMode';

TextEditBox.ErrorAlreadyEditing = 'You are already editing another control';


TextEditBox.EditBox = function(textBoxId, readPanelId, editPanelId)
{
  if (null != TextEditBox.CurrentEditor)
  {
    if (TextEditBox.CurrentEditor != textBoxId) alert(TextEditBox.ErrorAlreadyEditing);
    
    return;
  }
  
  var textEditBox = document.getElementById(textBoxId);
  
  if (!textEditBox) return;
  
  TextEditBox.CurrentEditor = textBoxId;
    
  textEditBox.readOnly = false;
  textEditBox.className = TextEditBox.EditModeClassName;
  textEditBox.initText = textEditBox.value;
  
  var readPanel = document.getElementById(readPanelId);
  var editPanel = document.getElementById(editPanelId);
  
  if (readPanel) 
  {
    textEditBox.readPanel = readPanel;
    readPanel.style.display = 'none';
  }
  
  if (editPanel) 
  {
    textEditBox.editPanel = editPanel;
    editPanel.style.display = 'block';
  }
}
TextEditBox.CancelEditBox = function(textBoxId)
{
  if (textBoxId == TextEditBox.CurrentEditor)
  {
    TextEditBox.CurrentEditor = null;
    
    var textEditBox = document.getElementById(textBoxId);
    
    if (!textEditBox) return;
    
    textEditBox.className = TextEditBox.ReadModeClassName;
    
    if (textEditBox.readPanel) textEditBox.readPanel.style.display = 'block';
    if (textEditBox.editPanel) textEditBox.editPanel.style.display = 'none';
    
    textEditBox.value = textEditBox.initText;
    textEditBox.readOnly = true;
  }
}
